package com.cn.springcloudwechat.common.utils.weixin.api;

import java.io.File;

/**
 * 微信多媒体数据接口
 * @创建者 x.c
 * @地址 成都云函科技有限公司
 * @时间 2017年12月15日
 * @版本 v1.0.0
 */
public interface MediaAPI {

	// 上传临时多媒体
	static String upload_media = "/media/upload?access_token=%s&type=%s";
	// 上传永久多媒体
	static String upload_media_forever = "/material/add_material?access_token=%s&type=%s";
	// 上传图文消息中 缩略图
	static String upload_thumb_media = "/media/upload?access_token=%s&type=thumb";
	// 上传图文消息内的图片获取URL(点击图文消息中缩略图后的原文图片)
	static String upload_ImgText = "/media/uploadimg?access_token=%s";
	// 上传永久图文素材(用于发送图文消息  此处thumb_media_id 是上个中获取的)(新增永久图文素材) 此返回的media_id就是群发需要的
	static String upload_ImgTextURL ="/material/add_news?access_token=%s";
	// 下载多媒体
	static String get_media = "/media/get?access_token=%s&media_id=%s";

	/**
	 * 上传多媒体文件
	 * 
	 * <pre/>
	 * 上传的临时多媒体文件有格式和大小限制,如下:
	 * <li/>图片(image): 1M,支持JPG格式
	 * <li/>语音(voice):2M,播放长度不超过60s,支持AMR\MP3格式
	 * <li/>视频(video):10MB,支持MP4格式
	 * <li/>缩略图(thumb):64KB,支持JPG格式
	 * 
	 * <pre/>
	 * 媒体文件在后台保存时间为3天,即3天后media_id失效。
	 * 
	 * @param type
	 *            多媒体类型 {@link io.github.elkan1788.mpsdk4j.common.MediaType}
	 * @param media
	 *            多媒体文件
	 * @return 实体{@link Media}
	 * 
	 *         Media upMedia(String type, File media);
	 */

	/**
	 * 下载多媒体文件
	 * 
	 * @param mediaId
	 *            媒体文件ID
	 * @return {@link File}
	 */
	File dlMedia(String mediaId);

	/**
	 * 上传临时 或是永久 素材 或者 上传永久图文消息中的图片 或是上传永久图文消息的缩略图
	 */
	String getMediaId(String path, String type, String index);

	/**
	 * 上传图文消息(图片url是上传永久图文消息中的url获取的) 新增永久图文素材
	 * @方法名:uploadPicText
	 * @描述:
	 * @param title
	 * @param thumb_media_id
	 * @param author
	 * @param digest
	 * @param show_cover_pic
	 * @param content
	 * @param content_source_url
	 * @return
	 */
	String uploadPicText(String title[], String thumb_media_id[], String author[], String digest[], String show_cover_pic[],
                         String content[], String content_source_url[]);


}
